package com.zt.english.utils

import android.widget.ImageView
import androidx.annotation.DrawableRes
import com.bumptech.glide.Glide
import com.bumptech.glide.request.RequestOptions
import com.zt.english.App
import com.zt.english.R

/**
Desc:Glide封装
Author:ZT
Date:2021/1/23
 */
object GlideUtil {
    private val options: RequestOptions = RequestOptions()
        .placeholder(R.mipmap.ic_launcher) //图片加载出来前，显示的图片
        .fallback(R.mipmap.ic_launcher) //url为空的时候,显示的图片
        .error(R.mipmap.ic_launcher) //图片加载失败后，显示的图片
    /**
     * 加载显示正常图片 加载失败vs预加载vs图片链接为null时显示的图片
     *
     * @param url       图片地址
     * @param imageView 继承于iamgeview的控件
     */
    fun loadImageView(url:String,imageView: ImageView){
        Glide.with(App.instance)
            .load(url)
            .apply(options)
            .into(imageView)
    }
    /**
     * 自定义图片 加载失败vs预加载vs图片链接为null时显示的图片
     *
     * @param url       图片地址
     * @param imageView 继承于iamgeview的控件
     * @param imgResourceId 加载失败vs预加载vs图片链接为null时显示的图片资源id
     */
    fun loadImageView(url:String,imageView: ImageView, @DrawableRes imgResourceId :Int){
        val options = RequestOptions()
            .placeholder(imgResourceId) //图片加载出来前，显示的图片
            .fallback(imgResourceId) //url为空的时候,显示的图片
            .error(imgResourceId) //图片加载失败后，显示的图片
        Glide.with(App.instance)
            .load(url)
            .apply(options)
            .into(imageView)
    }
}